/* 
 * File:   main.cpp
 * Author: Camila Monteiro Caetano Tomaz        RA: 48.184-0
 *         Icaro de Paula                       RA: 48.224-3
 *         Jonas de Castro                      RA: 48.222-6
 *
 * Created on Junho de 2013, 23:42
 */

#include <cstdlib>
#include <iostream>
#include "funcionarios.h"

using namespace std;

int main(int argc, char** argv) {

    //Lista listaFuncionarios();
    // Declarando a variavel ListaFuncionario do tipo sFuncionario    
   funcionarios func;
   
   sFuncionarios listaFuncionarios;
   sFuncionarios *inicioLista;
   
   inicioLista = &listaFuncionarios;
    // Criei e inicializei a lista (VAZIA)
   func.cria(inicioLista);
    
    sFuncionarios tempFunc;
    
    int opcaoMenu, chapaPesquisa;
    char inseriFaltaAtraso[1];
    
    do{
    
    cout << "Programa para PLR - Dados funcionarios" << endl;
    cout << " " << endl;
    
    cout << "1) Incluir Funcionario  " << endl;
    cout << "2) Excluir Funcionario." << endl;
    cout << "3) Listar todos os Funcionarios." << endl;
    cout << "4) Pesquisar Funcionario." << endl;
    cout << "5) Alterar dados Funcionarios." << endl;
    cout << "0) Sair." << endl;
    
    cout << "Selecione a opcao desejada: ";
    cin >> opcaoMenu;
    
    switch (opcaoMenu){
        case 1:
            
            getchar();
            cout << "Digite o nome do Funcionario a Inserir: ";
            cin.getline(tempFunc.nome, 70);
            
            cout << "Digite a chapa do Funcionario a Inserir: ";
            cin >> tempFunc.chapa;
            
            cout << "Digite o salario do Funcionario a Inserir: ";
            cin >> tempFunc.salario;
            
            cout << "Deseja atribuir uma quantidade de FALTAS e ATRASOS a este funcionario?" << endl;
            cout << "Responda S (sim) ou N (nao): ";
            cin >> inseriFaltaAtraso;
            
            if (stricmp("S", inseriFaltaAtraso) == 0){
                cout << "Quantidade de faltas que o funcionario " << tempFunc.nome << " ja possui: ";
                cin >> tempFunc.faltas;
            
                cout << "Quantidade de atrasos que o funcionario " << tempFunc.nome << " ja possui: ";
                cin >> tempFunc.atrasos;
            } else {
                tempFunc.faltas = 0;
                tempFunc.atrasos = 0;
            }

            sFuncionarios *novoFunc = new sFuncionarios;

           func.inserirFuncionario(inicioLista, tempFunc, novoFunc);
                        
            break;
            
        case 2:
           
            
            break;
            
        case 3:
            
            if (func.vazia(inicioLista) == true){
                cout << "Lista vazia!" << endl;
            } else {
                func.exibirLista(inicioLista);             
            }
          
            break;
            
        case 4:
            cout << "Digite a CHAPA do Funcionario para pesquisar: ";
            cin >> chapaPesquisa;      
            
            break;
        
        case 5:
           
            
            break;
            
        case 0:
            cout << "O Programa sera encerrado. " << endl;
            break;
            
        default:
            cout << "Opcao invalida! Tente novamente . . ." << endl;
            break;
        
    }
   
    }while (opcaoMenu != 0);
    
    return 0;
}

